The present invention relates generally to a data processing apparatus and, more specifically, to determining the power status of a memory circuit.
The reduction of power consumption is an important aspect of current integrated circuit design in view of the prevalence of battery powered, portable electronic devices. Many such portable devices include a system on chip (SoC). An SoC typically includes a processor and one or more memories, and the memories account for a significant portion of the power consumption of the SoC.
It is known to manage power consumption by varying power supplied to circuit components, such as memory, according to a current processing workload. For example, memory can be placed in a low power sleep mode during an inactive processing period, and placed in a high power operational mode during an active processing period. In the different power modes, at least one of the supply voltage and clock frequency can be dynamically varied so that the system is capable of delivering high throughput when required, yet battery life is extended via use of the low speed/power periods.
In such power management strategies, when the memory is asleep or in low power mode, the memory array cannot be accessed until the memory is fully awake. Thus, the time required for the memory to transition from the sleep mode to a fully operational mode is important. In conventional systems, a power management controller holds access to memory during a predetermined wake-up time. The wake-up time is determined in advance via simulation and then a value is assigned for the hold time.
One problem that can arise when using a fixed delay for the wake-up time is that the fixed delay value is inherently inaccurate because actual circuit operation varies depending on process, voltage and temperature (PVT). As a consequence, if the estimated delay time is less than the actual delay time, the power management controller will permit memory accesses to be performed before the memory is actually operational, which can cause the system to fail. Accordingly, it would be advantageous to have a better way to determine actual memory wake-up time.